// 生成2023年1月1日至2024年12月31日的日期数组
function generateDates() {
  const dates = [];
  for (let year = 2023; year <= 2024; year++) {
    for (let month = 1; month <= 12; month++) {
      // 创建日期对象，月份从0开始，所以减去1
      const date = new Date(year, month - 1, 1); 
      // 将日期格式化为YYYY-MM-DD
      const formattedDate = date.toISOString().slice(0, 10).replace(/-/g, '-');
      dates.push(formattedDate);
    }
  }
  // 返回日期数组
  return dates;
}

// 生成日期数组
const dates = generateDates();
// 将日期数组反转，从最新的日期开始
dates.reverse();


// 获取指定时间段内的数据
function getdataFrom_Start_End(start,end){
  // 获取页面元素，用于设置开始日期和结束日期
  var element1 = document.getElementById('BIZ_lshq_sd');
  var element2 = document.getElementById('BIZ_lshq_ed');
  // 设置开始日期和结束日期的值
  element1.value = start; 
  element2.value = end; 
  
  // 获取表单元素
  var historyHqForm = document.querySelector('form[name="historyHqForm"]');
  // 提交表单
  historyHqSearch(historyHqForm );
  // 等待数据加载
  sleep()
  // 获取页面元素，获取数据
  const tdElements = document.querySelectorAll('td.e1');
  // 将数据转换为数组
  const textArray = Array.from(tdElements).map(td => td.textContent.trim());
  // 返回数据数组
  return textArray;
}

// 初始化数据数组
var alldata= [];
// 循环遍历日期数组，获取每两个日期之间的数据
for(var i = 0;i<100;i++ ){
  // 如果日期数组长度小于4，则停止循环
  if(dates.length<4){
    break;
  }
  // 获取两个日期之间的数据
  var uis = getdataFrom_Start_End(dates.pop(),dates.pop());
  // 将数据添加到数据数组
  alldata.push(uis);
}

// 去除数据数组中的重复元素
const uniqueArr = alldata.filter((value, index, self) => self.indexOf(value) === index);
// 打印去重后的数据数组
console.log(uniqueArr); 
console.log()


https://q.stock.sohu.com/zs/000001/lshq.shtml  
// 打印最后一次获取的数据
console.log(uis);